Packet switching communication networks are commonly employed to transfer digital information over long distances. One example of a packet switching communication network is an Asynchronous Transfer Mode (ATM) communication network. An ATM communication network enables the transfer of digital voice information, digital video information and digital data over short or long distances via common carrier communication links. In one embodiment, the ATM communication networks enable a wide variety of communication devices to share common carrier communication links on a demand driven basis. For example, such ATM communication networks are commonly employed for a wide area network (WAN) communication.
In one embodiment, the common carrier communication links employed in such ATM communication networks include metal wire based communication links. One such type of common carrier communication link available in North America is the T1 communication link. In one embodiment, the T1 communication link provides a maximum data rate of 1.544 megabits per second. Alternatively, an E1 communication link may be used as common carrier communication link. In one embodiment, the E1 communication link provides a maximum data rate of 2.048 megabits per second.
FIG. 1A is a block diagram of one embodiment of a communication network. As illustrated in FIG. 1A, communication network 100 includes communication nodes 120 and 130 coupled for communication using a set of communication links 110. In one embodiment, communication network 100 is an ATM communication network. Each communication node 120 and 130 is further coupled to other communication nodes. For example, as shown in FIG. 1A, communication node 120 is coupled to node 122 via link 140 and to node 124 via link 142. In addition, communication node 130 is coupled to node 132 via link 144 and to node 134 via link 146.
In one embodiment, the ATM communication network 100 enables communications according to an Inverse Multiplexing Asynchronous Transfer Mode (IMA) communication protocol. The IMA communication protocol specifies a method of inverse multiplexing of data cells, for example ATM cells, over multiple communication links at the transmitting end and retrieving the ATM cell stream at the receiving end. In one embodiment, communication nodes 120 and 130 perform inverse multiplexing and de-multiplexing of data cells in a cyclical fashion among communication links 1-N grouped to form a higher bandwidth logical link 110 whose rate is approximately the sum of the rates of each communication link 1-N.
In one embodiment, at the near end, for example within transmitting communication node 120, the cell stream is distributed on a cell-by-cell basis, across the multiple communication links 1-N. At the far end, the receiving communication node 130 recombines the cells from each link, on a cell-by-cell basis, recreating the original cell stream.
In addition to AIM cells, the IMA protocol provides for periodic transmission of control cells, defined as IMA Control Protocol (ICP) cells, which contain specific control information for the reconstruction of the ATM cell stream at the receiving end. In one embodiment, one ICP cell is transmitted on each communication link 1-N after a predetermined number of data cells.
In one embodiment, the communication links may have different transmission delays resulting in end-to-end differential delay among the communication links. The information contained within the ICP cells needs to be extracted and processed as soon as the ICP cells arrive at the receiving end. However, when differential delay is present, some ICP cells are delayed, and processing of non-compensated ICP cells at the time of arrival introduces missequencing of the information retrieved, which could lead to inaccurate reconstruction of the data stream and loss of ATM data cells.
FIG. 1B is a block diagram of an example of a communication network. As illustrated in FIG. 1B, two communication nodes 150 and 160 enable point-to-point IMA communication through communication links 170 and 180. In one embodiment, the communication nodes 150 and 160 are referred to as IMA groups.
In one embodiment, link 170 has a bidirectional delay of 270 milliseconds, which corresponds to 1000 ATM cells. Node 150 has buffered 1000 ATM cells transmitted on link 180, which is the fast link. Node 160 decides to delete link 180. A transmitting fink state machine within node 160 transitions from ACTIVE mode to DELETED mode and filler cells are sent on link 180. At the same time, a receiving link state machine within node 160 also transitions from ACTIVE mode to DELETED mode.
Node 150 receives an ICP cell on both links 170 and 180 indicating the state of both links. Node 150 processes both ICP cells at the same time, without compensating for the delay existent on link 170. A transmitting state machine within node 150 transitions from ACTIVE mode to DELETED mode and filler cells are sent on link 180. At the same time, a receiving state machine within node 150 transitions from ACTIVE mode to USABLE mode and removes link 180 from use. As a result, the already buffered ATM cells are dropped.